<Schema name="DTMItemListSchema" xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes" xmlns:fdt="x-schema:FDTDataTypesSchema.xml">
	<!--Definition of Attributes-->
	<AttributeType name="moduleName" dt:type="string"/>
	<AttributeType name="itemErrorDescription" dt:type="enumeration" dt:values="dtmSpecific noLock notLongerValid outOfResources invalidValue"/>
	<AttributeType name="itemType" dt:type="enumeration" dt:values="standard  specific"/>
	<AttributeType name="itemKind" dt:type="enumeration" dt:values="alarm analogInput analogOutput computation contained correction device diagnostic digitalInput digitalOutput discrete discreteInput discreteOutput dynamic frequency frequencyInput frequencyOutput hart input local localDisplay operate output sensorCorrection service tune others"/>
	<AttributeType name="label" dt:type="string"/>
	<AttributeType name="qualityBits" dt:type="enumeration" dt:values="bad badConfigurationError badNotConnected badDeviceFailure badSensorFailure badLastKnownValue badCommFailure badOutOfService badWaitingForInitialData uncertain uncertainLastUsableValue uncertainSensorNotAccurate uncertainEUExceeded uncertainSubNormal good goodLocalOverride" />
	<AttributeType name="limitBits" dt:type="enumeration" dt:values="none low high constant"/>


	<!--Definition of Elements-->
	<ElementType name="ItemKind" content="empty" model="closed" order="seq">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="itemKind" required="yes"/>
	</ElementType>
	<ElementType name="Quality" content="empty" model="closed" order="seq">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="qualityBits" required="yes"/>
		<attribute type="limitBits" required="no"/>
	</ElementType>
	<ElementType name="TimeStamp" content="empty" model="closed" order="seq">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="fdt:time" required="yes"/>
	</ElementType>
	<ElementType name="ItemErrorDescription" content="empty" model="closed" order="seq">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="itemErrorDescription" required="yes"/>
		<attribute type="fdt:descriptor" required="no"/>
	</ElementType>
	<ElementType name="ItemError" content="eltOnly" model="closed" order="seq">
		<attribute type="fdt:nodeId" required="no"/>
		<group order="one" minOccurs="0" maxOccurs="1">
			<element type="ItemErrorDescription"/>
			<element type="fdt:CommunicationError"/>
		</group>
	</ElementType>
	<ElementType name="PossibleEnumerations" content="eltOnly" model="closed" >
		<attribute type="fdt:nodeId" required="no"/>
		<group order="one" minOccurs="1" maxOccurs="1">
			<element type="fdt:EnumeratorEntries" minOccurs="0" maxOccurs="1"/>
			<element type="fdt:BitEnumeratorEntries" minOccurs="0" maxOccurs="1"/>
		</group>
	</ElementType>
	<ElementType name="ItemReference" content="empty" model="closed" >
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="fdt:idref" required="no"/>
	</ElementType>
	<ElementType name="LowerRangeDescription" content="eltOnly" model="closed" order="seq">
		<attribute type="fdt:nodeId" required="no"/>
		<group order="one" minOccurs="0" maxOccurs="1">
			<element type="ItemReference"/>
			<element type="fdt:StringData"/>
			<element type="fdt:NumberData"/>
			<element type="fdt:TimeData"/>
		</group>
	</ElementType>
	<ElementType name="UpperRangeDescription" content="eltOnly" model="closed" order="seq">
		<attribute type="fdt:nodeId" required="no"/>
		<group order="one" minOccurs="0" maxOccurs="1">
			<element type="ItemReference"/>
			<element type="fdt:StringData"/>
			<element type="fdt:NumberData"/>
			<element type="fdt:TimeData"/>
		</group>
	</ElementType>
	<ElementType name="RangeDescription" content="eltOnly" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<element type="LowerRangeDescription" minOccurs="1" maxOccurs="1"/>
		<element type="UpperRangeDescription" minOccurs="1" maxOccurs="1"/>
		<element type="fdt:LowerRawValue" minOccurs="0" maxOccurs="1"/>                              
		<element type="fdt:UpperRawValue" minOccurs="0" maxOccurs="1"/>                           
	</ElementType>
	<ElementType name="RangeDescriptions" content="eltOnly" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<element type="RangeDescription" minOccurs="1" maxOccurs="*"/>
	</ElementType>
	<ElementType name="ValueDescription" content="eltOnly" model="closed" order="seq">
		<attribute type="fdt:nodeId" required="no"/>
		<element type="PossibleEnumerations" minOccurs="1" maxOccurs="1"/>
	</ElementType>
	<ElementType name="UnitDescription" content="eltOnly" model="closed" order="seq">
		<attribute type="fdt:nodeId" required="no"/>
		<group order="one" minOccurs="0" maxOccurs="1">
			<element type="ItemReference" minOccurs="1" maxOccurs="1"/>
			<element type="fdt:EnumeratorEntry" minOccurs="1" maxOccurs="1"/>
		</group>
	</ElementType>
	<ElementType name="DtmItemInfo" content="eltOnly" model="closed" order="seq">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="fdt:id" required="yes"/>
		<element type="fdt:SemanticInformation" minOccurs="0" maxOccurs="*"/>
		<attribute type="fdt:name" required="yes"/>
		<attribute type="fdt:dataType" required="yes"/>
       		<attribute type="itemType" required="yes"/>
		<attribute type="fdt:descriptor" required="no"/>
		<attribute type="moduleName" required="no"/>
		<attribute type="fdt:readAccess" required="no"/>
		<attribute type="fdt:writeAccess" required="no"/>
		<attribute type="label" required="no"/>
		<element type="ItemKind" minOccurs="1" maxOccurs="*"/>
		<element type="UnitDescription" minOccurs="0" maxOccurs="1"/>
		<group order="one" minOccurs="0" maxOccurs="1">
			<element type="RangeDescriptions" minOccurs="0" maxOccurs="1"/>
			<element type="ValueDescription" minOccurs="0" maxOccurs="1"/>
		</group>
	</ElementType>
	<ElementType name="DtmItemInfoGroup" content="eltOnly" model="closed" order="seq">
			<attribute type="fdt:nodeId" required="no"/>
			<attribute type="fdt:name" required="yes"/>
			<element type="fdt:SemanticInformation" minOccurs="0" maxOccurs="*"/>
			<attribute type="label" required="no"/>
			<element type="DtmItemInfo" minOccurs="0" maxOccurs="*"/>
			<element type="DtmItemInfoGroup" minOccurs="0" maxOccurs="*"/>
	</ElementType>
	<ElementType name="DtmItemSelection" content="empty" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="fdt:id" required="yes"/>
	</ElementType>
	<ElementType name="DtmItem" content="eltOnly" model="closed" order="seq">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="fdt:id" required="yes"/>
		<element type="TimeStamp" minOccurs="1" maxOccurs="1"/>
		<element type="Quality" minOccurs="1" maxOccurs="1"/>
		<group order="one" minOccurs="1" maxOccurs="1">
			<element type="fdt:Variant"/>
			<element type="ItemError"/>
		</group>
	</ElementType>
	<ElementType name="DtmItemInfoList" content="eltOnly" model="closed" >
		<attribute type="fdt:nodeId" required="no"/>
		<element type="DtmItemInfo" minOccurs="0" maxOccurs="*"/>
		<element type="DtmItemInfoGroup" minOccurs="0" maxOccurs="*"/>
	</ElementType>
	<ElementType name="DtmItemList" content="eltOnly" model="closed" order="seq">
		<attribute type="fdt:nodeId" required="no"/>
		<element type="DtmItem" minOccurs="1" maxOccurs="*"/>
	</ElementType>
	<ElementType name="DtmItemSelectionList" content="eltOnly" model="closed" order="seq">
		<attribute type="fdt:nodeId" required="no"/>
		<element type="DtmItemSelection" minOccurs="1" maxOccurs="*"/>
	</ElementType>
	<ElementType name="FDT" content="eltOnly" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<group order="one" minOccurs="1" maxOccurs="1">
			<element type="DtmItemInfoList"/>
			<element type="DtmItemList"/>
			<element type="DtmItemSelectionList"/>
		</group>
	</ElementType>
</Schema>

